/**
 * 新增生产订单
 */
export interface ProduceOrder {
  id?: number;
  /**
   * 生产订单编号
   */
  number?: string;
  /**
   * 销售订单号
   */
  saleOrderNumber?: string;
  /**
   * 销售订单id
   */
  saleOrderId?: number;
  /**
   * 客户名称
   */
  customName?: string;
  /**
   * 客户名称ID
   */
  customId?: number;
  /**
   * 部门id
   */
  departmentId?: number;
  /**
   * 紧急等级
   */
  emergencyLevel?: number;
  /**
   * 物料id
   */
  materialId?: number;
  /**
   * 计划开始时间
   */
  planBeginAt?: number;
  /**
   * 计划结束时间
   */
  planEndAt?: number;
  /**
   * 计划人id
   */
  plannerId?: number;
  /**
   * 计划生产数量
   */
  planProduceNumber?: number;
  /**
   * 备注
   */
  remark?: string;
  /**
   * 订单类型（1面向库存订单2面向销售订单）
   */
  type?: number;
  /**
   * 交货要求
   */
  orderDelivery?: any[];
}
interface productGroupModelData {
  index: number;
  id: number;
  productId: number;
  /**
   *  工序名称
   */
  name: string;
  /**
   *  是否报工1,2
   */
  groupDataType: 1 | 2;
  groupDataTypeName: string;
  /**
   *  生产类型
   */
  processType: string;
  /**
   *  生产方式
   */
  productionMethod: string;
}
export interface Tmaterial {
  /**
   *  单位
   */
  basicUnit?: string;
  /**
   *  单位ID
   */
  basicUnitId?: number;
  /**
   *  物料名称
   */
  name?: string;
  /**
   *  物料编码
   */
  number?: string;
  /**
   *  物料规格型号
   */
  spec?: string;
  /**
   *  bom编码
   */
  bomCode?: string;
  /**
   *  bom列表
   */
  bomList?: any[];
  /**
   *  工艺路线
   */
  productModel?: {
    id?: number;
    productId?: number;
    /**
     *  工艺路线名称
     */
    routerName?: string;
    productGroupModel?: productGroupModelData[];
  };
}

/**
 * 物料
 */

export interface TDatum {
  /**
   * 生产类型1.自制 2.委外
   */
  attribute: number;
  /**
   * 单位
   */
  basicName: string;
  /**
   * 需求数量
   */
  demandNumber: number;
  /**
   * 标准用量
   */
  dosage: number;
  /**
   * 空闲库存
   */
  freeStock: number;
  id: number;
  /**
   * 在途数量
   */
  inTransitNumber: number;
  /**
   * 物料状态（1满足2缺料）
   */
  materialStatus: number;
  /**
   * 名
   */
  name: string;
  /**
   * 码
   */
  number: string;
  /**
   * 占用库存
   */
  occupiedStock: number;
  /**
   * 缺货数量
   */
  outOfStockNumber: string;
  /**
   * 推荐采购数量
   */
  recommendPurchaseNumber: number;
  /**
   * 已满足生产数量
   */
  satisfiedProduceNumber: string;
  /**
   * 规格
   */
  spec: string;
  /**
   * 总库存
   */
  totalStock: number;
  /**
   * 损耗率
   */
  wastage: string;
}

/**
 * 组件
 */

export interface TElement {
  /**
   * 生产类型1.自制 2.委外
   */
  attribute: number;
  /**
   * 单位
   */
  basicName: string;
  /**
   * 可交货数量
   */
  deliverableNumber: number;
  /**
   * 需求数量
   */
  demandNumber: number;
  /**
   * 空闲库存
   */
  freeStock: number;
  id: number;
  /**
   * 组件名
   */
  name: string;
  /**
   * 需要生产数量
   */
  needProduceNumber: number;
  /**
   * 组件码
   */
  number: string;
  /**
   * 占用库存
   */
  occupiedStock: number;
  /**
   * 规格
   */
  spec: string;
  /**
   * 总库存
   */
  totalStock: number;
}

/**
 * 新增生产任务数据
 */

export interface ProduceTask {
  /**
   * 批次编号
   */
  batchCode?: string;
  /**
   * 计划开工时间
   */
  beginAt?: number;
  /**
   * 计划完工时间
   */
  endAt?: number;
  /**
   * 计划数量
   */
  planTaskNumber?: number;
  /**
   * 销售订单号
   */
  producePlanId?: number;
}

export interface FlowCard {
  /**
   * 容量
   */
  capacity?: number;
  /**
   * 创造者id
   */
  creatorId?: number;
  /**
   * 创造者名
   */
  creatorName: string;
  /**
   * 生产任务id
   */
  taskId: number;
}
